package org.mcflier.appuntamento.io.driver.imdb.interfaces;

import java.util.List;

import org.mcflier.appuntamento.core.exception.PropertiesException;
import org.mcflier.appuntamento.data.model.Movie;
import org.mcflier.appuntamento.i18n.Country;
import org.mcflier.appuntamento.io.exception.MovieNotFoundException;
import org.mcflier.appuntamento.io.exception.ParsingException;
import org.mcflier.appuntamento.io.exception.RemoteConnectionException;
import org.mcflier.appuntamento.io.exception.RemoteResourceNotFoundException;

public interface IMovieRequest {
	
	public Movie getMovie(String id) throws ParsingException, MovieNotFoundException, RemoteConnectionException;
	
	public List<Movie> getMovies(List<String> ids) throws ParsingException, RemoteConnectionException;
	
	public List<Movie> getShowtimes(Country country, String zipCode) throws PropertiesException, ParsingException, RemoteResourceNotFoundException, RemoteConnectionException;
	
	public List<Movie> getNowPlaying() throws ParsingException, RemoteConnectionException, RemoteResourceNotFoundException;
	
	public List<Movie> getNowPlaying(int page) throws ParsingException, RemoteConnectionException, RemoteResourceNotFoundException;
}